Sketcher ConstrainTangent/ru

Скетчер Ограничить касательную

Расположение в меню
Эскиз → Ограничения эскиза → Ограничить касательную или коллинеарность
Верстаки
Скетчер
Быстрые клавиши
T
Представлено в версии
-
См. также
Нет

Описание

Инструмент Ограничить касательную или коллинеарность ограничивает два ребра или ребро и ось, чтобы они стали касательными. Линии рассматриваются как бесконечные, а открытые кривые также виртуально продлеваются. Ограничение также может соединять два ребра, заставляя их быть касательными на стыке. Если выбраны две линии или одна линия и конечная точка другой линии, то линии становятся коллинеарными.

Применение

Смотри также: Вспомогательные инструменты рисования.

Непрерывный режим

  1. Убедитесь в отсутствии выделения.
  2. Есть несколько способов вызвать инструмент:
  3. Курсор изменится на перекрестье со значком инструмента.
  4. Выполните одно из следующих действий:
    • Выберите два ребра. Рёбра могут быть любыми, кроме B-сплайна.
    • Выберите точку и два ребра (в таком порядке).
    • Выберите ребро, точку и ещё одно ребро (в таком порядке).
  5. Добавляется ограничение Касательная. Если выбраны точка и два ребра, то может быть добавлено до двух ограничений Точки на объекте. Смотри Примеры.
  6. По желанию продолжайте создавать ограничения.
  7. Чтобы закончить, щёлкните правой кнопкой мыши или нажмите Esc, или запустите другой инструмент для создания геометрии или ограничений.

Режим однократного запуска

  1. Выполните одно из следующих действий:
    • Выберите два ребра (см. выше).
    • Выберите две конечные точки, принадлежащие разным рёбрам.
    • Выберите ребро и конечную точку другого ребра (в любом порядке).
    • Выберите точку и два ребра ( в любом порядке).
  2. Вызовите инструмент, как описано выше, или с помощью следующей опции:
  3. Добавляется ограничение касательной. Если выбраны точка и два ребра, может быть добавлено до двух ограничений Точки на объекте. Смотри Примеры.

Примеры

Между двумя рёбрами

Два ребра становятся касательными. Если одно из рёбер является округлым, добавляется объект Точкаа, имеющий ограничение Точки на объекте с обоими (продлёнными) рёбрами.

Не рекомендуется реконструировать точку касания созданием точки и установкой принадлежности её обоим кривым. Это будет работать, но конвергенция будет значительно медленнее, сложнее, и потребует вдвое больше итераций чем в норме. Используйте другие режимы этого ограничения, если нужна точка касания.

Между двумя конечными точками (касание точка-к-точке)

The endpoints are made coincident, and the angle between the edges at that point is set to 180° (smooth joint) or 0° (sharp joint), depending on the placement of the edges before the constraint is applied.

Между кривой и конечной точкой (касательная точки к кривой)

В этом режиме конечная точка одной кривой ограничивается лежать на другой кривой так, чтобы обе кривые были касательными в этой точке. Этот режим применяется, когда выделены кривая и конечная точка другой кривой.

Между двумя кривыми в точке (касательная через точку) (v0.15)

В этом режиме две кривые делаются касательными и отслеживается точка касания. Этот режим применяется, когда выделены две кривые и точка.

В сравнении с прямой касательностью, это ограничение медленнее, поскольку привлекается большее число степеней свободы, но если нужна точка касания, это рекомендованный режим, поскольку он предлагает лучшую сходимость в сравнении к прямому касанию + точке на двух кривых.

Между двумя линиями (коллинеарно)

The two lines are made collinear.

Программирование

Ограничение касательности может создаваться из макросов и из консоли Python следующим образом:

# direct tangency
Sketch.addConstraint(Sketcher.Constraint('Tangent',icurve1,icurve2))

# point-to-point tangency
Sketch.addConstraint(Sketcher.Constraint('Tangent',icurve1,pointpos1,icurve2,pointpos2))

# point-to-curve tangency
Sketch.addConstraint(Sketcher.Constraint('Tangent',icurve1,pointpos1,icurve2))

# tangent-via-point (plain constraint, helpers are not added automatically)
Sketch.addConstraint(Sketcher.Constraint('TangentViaPoint',icurve1,icurve2,geoidpoint,pointpos))

Где:

  • Sketch это объект эскиза
  • icurve1, icurve2 это два целых идентификатора кривых, которые станут касательными. Целые это индексы в эскизе (значения, возвращаемые Sketch.addGeometry).
  • pointpos1, pointpos2 должны быть 1 для начальной и 2 для конечной точки.
  • geoidpoint и pointpos в TangentViaPoint это индексы, указывающие точку касания.

На странице Программирование в Sketcher объясняются значения, которые можно использовать для incurve1, incurve2, pointpos1, pointpos2, geoidpoint и pointpos а также содержатся дополнительные примеры того, как создавать ограничения из сценариев Python.